package codename.carrot.bomberman.game.listener;

import codename.carrot.bomberman.models.AbstractObstacle;

/**
 *  Interface for classes that listen to changes to an obstacle
 * @author Group A4
 *
 */
public interface ObstacleListener {
    
    /**
     * Notification of when an obstacle explodes
     * @param obstacle the obstacle that exploded
     */
    public void onObstacleExploded(AbstractObstacle obstacle);
    /**
     *  Notification of when an obstacle should be removed from the game
     * @param obstacle the obstacle to be removed
     */
    public void onRemoveObstacle(AbstractObstacle obstacle);
    /**
     *  Notification of when an obstacle has changed visibility
     * @param obstacle
     * @param visible visibility, true if visible, false if not
     */
    public void onObstacleVisibilityChanged(AbstractObstacle obstacle, boolean visible);    
}
